package com.xiaoshuidi.cloud.module.contract.convert.contract;

import com.xiaoshuidi.cloud.module.contract.controller.admin.contract.vo.*;
import com.xiaoshuidi.cloud.module.contract.controller.admin.contract.vo.company.*;
import com.xiaoshuidi.cloud.module.contract.dal.dataobject.contract.CompanyContractDO;
import com.xiaoshuidi.cloud.module.contract.dal.dataobject.contract.ContractRoomDO;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

import java.util.List;

/**
 * 企业合同 Convert
 *
 * @author 合房租赁
 */
@Mapper
public interface CompanyContractConvert {

    CompanyContractConvert INSTANCE = Mappers.getMapper(CompanyContractConvert.class);

    CompanyContractDO convert(CompanyContractCreateReqVO bean);

    CompanyContractDO convert(CompanyContractRenewalReqVO bean);

    CompanyContractRentDataRespVO convert(CompanyContractDO bean);

    ContractCreateReqVO convert1(CompanyContractCreateReqVO bean);

    ContractCreateReqVO convert4(CompanyContractDO bean);

    ContractRenewalReqVO convert2(CompanyContractRenewalReqVO bean);

    ContractRoomDO convert3(CompanyContractRenewalReqVO bean);

    List<CompanySonsContractListRespVO> convertList(List<ContractRoomDO> bean);

    List<CompanyContractListExcelVO> convertList1(List<CompanyContractListRespVO> bean);

    List<CompanySonsContractListExcelVO> convertList2(List<CompanySonsContractListRespVO> bean);

    List<CompanyContractSimpleListRespVO> convertList3(List<CompanyContractDO> bean);

    List<CompanyRoomListExcelVO> convertList4(List<ContractRoomDO> bean);

    ContractRefundReqVO convertRefundVO(CompanyContractRefundReqVO reqVO);


    CompanyContractRenewalReqVO convert5(CompanyContractRentDataRespVO respVO);
}
